<?php

class Static_IndexController extends App_Controller_Action { 
	public function aboutAction() {
		
	}

	public function areaAction() {
	    	if ($this->_request->isPost()) {
    		$formRegister = new FormRegister('');
    		if ($formRegister->isValid($this->_getAllParams())) {
    			$post = $this->_request->getPost();
	    		$this->_helper->redirector->gotoRoute(array(), 'index');
    		}
			$this->view->formRegister = $formRegister;
    	} else {
			$formRegister = new FormRegister('');
			$this->view->formRegister = $formRegister;
    	}		
	}

	public function applyAction() {
		global $offerTypes, $config;
    	if ($this->_request->isPost()) {
	   		$formOffer = new FormOffers();
   			if ($formOffer->isValid($this->_getAllParams())) {
   				$post = $this->_request->getPost();
				$mail = new Zend_Mail();
				$mail->setBodyText($post->text);
				$mail->setFrom($post->email, $post->title);
				$mail->addTo($config->admin->email, 'admin');
				$mail->setSubject($offerTypes[$post->catid]);
				$mail->send();
                $this->_helper->FlashMessenger->setNamespace('messages')->addMessage('Поздравляем с успешной регистрацией');
				$this->_helper->redirector->gotoRoute(array(), 'index');
   			}
			$this->view->formOffer = $formOffer;
    	} else {
			$formOffers = new FormOffers();
			$this->view->formOffer = $formOffers;
    	}		
	}
	
	public function contactsAction() {
		
	}

	public function adminloginAction() {
		/* Проверяем,если были отправлены POST данные */
		if( $this->_request->isPost() ) {
			$loginForm = new FormLogin();		
			/* Проверяем валидность данных формы */
			if ( $loginForm->isValid($this->_getAllParams()) ) {
           		/* "Получаем" соединение с БД из registry */
				//$db = Zend_Registry::get('database');
				/* Создаем адаптер в виде базы данных */
           		//$authAdapter = new Zend_Auth_Adapter_DbTable($db);
				/** 
				 * Настраиваем правила выборки пользователей из БД 
				 * Соответственно, имя таблицы, 
				 * название поля с идентификатором пользователя,
				 * название поля для сверки "пароля"
				 */
           		//$authAdapter->setTableName('users')
           		//		  ->setIdentityColumn('login')
           		//		  ->setCredentialColumn('passwd');
	 
           		/* Передаем в адаптер данные пользователя. MD5 выбрано совершенно случайно :) */
           		//$authAdapter->setIdentity($loginForm->getValue('login'));
              	//$authAdapter->setCredential(md5($loginForm->getValue('passwd')));
              	$authAdapter = new App_Auth_Adapter($loginForm->getValue('login'), $loginForm->getValue('passwd'));
           		/* Собственно, процесс аутентификация */
           		$auth = Zend_Auth::getInstance();
           		$resultAuth = $auth->authenticate($authAdapter);
				/* Проверяем валидность результата */
           		if( $resultAuth->isValid() ) {
					/* Пишем в сессию необходимые нам данные (пароль обнуляем, он нам в сессии не нужен :) */
           			$data = $authAdapter->getData();//->getResultRowObject(null, 'passwd');
           			$auth->getStorage()->write($data);
           			/* Тут можно сообщить пользователю о том, что он вошел */
					$this->_helper->redirector->gotoRoute(array(), 'admin');
           		}
           	}
           	if (!$this->_user->login) {
           		$this->view->loginError = "<div>Ошибка авторизации ".$this->_user->login."</div>";
				//$this->_helper->redirector->gotoRoute(array(), 'adminLogin');
           	}
			$this->view->formLogin = $loginForm;
		} else {
			//$a = Zend_Auth::getInstance()->getIdentity();
			$loginForm = new FormLogin();		
			$this->view->formLogin = $loginForm;
	 	}
	}

	public function adminlogoutAction() {
    	/* "Очищаем" данные об идентификации пользоваля */
		Zend_Auth::getInstance()->clearIdentity();
		$this->setUserLogin("");
		$this->_helper->redirector->gotoRoute(array(), 'index');
		/** 
		 * Перебрасываем его на главную 
		 * Желательно еще как-то оповестить пользователя о том, что он вышел
		 */
    	//$this->_redirect('/');
	}
}